﻿#region Includes

using WaveTech.GShield.Engine.Managers;
using WaveTech.GShield.Model;
using WaveTech.GShield.Model.Interfaces;

#endregion

namespace GShieldCloudService_WebRole
{
	public class GShieldAdvisorService : IGShieldAdvisorService
	{
		#region Private Members
		private readonly IEsrbManager _esrbManager;
		#endregion Private Members

		#region Constructor

		public GShieldAdvisorService()
		{
			_esrbManager = new ESRBManager();
		}

		public GShieldAdvisorService(IEsrbManager esrbManager)
		{
			_esrbManager = esrbManager;
		}

		#endregion Constructor

		#region IGShieldAdvisorService Members

		public int? GetESRBRating(string title, string publisher, string fileName, string directoryName, string productName)
		{
			return _esrbManager.GetESRBRating(title, publisher, fileName, directoryName, productName);
		}

		public int? GetESRBRatingEx(string title, string publisher, string fileName, string directoryName, string productName,
		                            bool trimResults)
		{
			return _esrbManager.GetESRBRating(title, publisher, fileName, directoryName, productName, trimResults);
		}

		public GameRatingDetail GetESRBGameDetail(string title, string publisher, string fileName, string directoryName,
		                                          string productName)
		{
			return _esrbManager.GetESRBGameDetail(title, publisher, fileName, directoryName, productName);
		}

		public GameRatingDetail GetESRBGameDetailEx(string title, string publisher, string fileName, string directoryName,
		                                            string productName, bool trimResults)
		{
			return _esrbManager.GetESRBGameDetail(title, publisher, fileName, directoryName, productName, trimResults);
		}

		#endregion
	}
}